import type { ComponentPropsWithoutRef, FC } from 'react'
import { useId } from 'react'

type Props = ComponentPropsWithoutRef<'svg'>

export const DBAgent: FC<Props> = (props) => {
  const clipPathId = `db-agent-clip-${useId()}`

  return (
    <svg
      role="img"
      aria-label="DB Agent Avatar"
      width={24}
      height={24}
      viewBox="0 0 24 24"
      fill="none"
      {...props}
    >
      <g clipPath={`url(#${clipPathId})`}>
        <path
          d="M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z"
          fill="#D6008C"
        />
        <rect
          x="5.57153"
          y="11.5715"
          width="12.8571"
          height="7.28572"
          fill="black"
        />
        <path
          d="M23.6714 22.0124C23.2986 21.2842 22.3299 21.1654 21.9383 20.4852C21.743 20.1522 21.6997 19.6576 21.6725 19.2354C21.5185 16.9213 20.9274 14.6421 19.883 12.5708C19.5828 11.9292 19.2914 11.2365 19.4564 10.5282C19.5734 9.98096 19.871 9.43161 19.871 8.87445C19.8767 8.02594 19.0418 7.65276 18.2496 7.7226C17.7828 7.75231 17.3322 7.94723 16.9306 8.17656C15.4335 9.16789 14.7202 8.43821 13.0848 8.24432C12.0592 8.12184 11.0274 8.16405 10.0154 8.40954C9.48489 8.53254 8.88073 8.72851 8.35595 8.68578C7.67189 8.63522 7.19619 8.18073 6.54608 7.91596C6.07455 7.71947 5.52836 7.65171 5.03385 7.78566C4.47721 7.92222 4.07096 8.39338 4.13362 8.97921C4.17435 9.63697 4.60201 10.2942 4.59314 10.9738C4.58687 11.5352 4.35241 12.0689 4.11378 12.5812C3.8694 13.0941 3.61562 13.6127 3.41824 14.1422C2.78431 15.8804 2.40208 17.7005 2.30391 19.5518C2.18694 21.6115 0.381777 20.7641 0.0522831 22.8395C-0.48817 26.3545 3.28874 25.1948 5.50538 23.552C5.80772 23.3628 6.16228 23.0928 6.48185 23.2346C7.29332 23.7177 7.56119 25.9354 8.75646 26.1345C10.24 26.2857 10.854 24.1686 11.9501 24.0716C12.8555 24.0586 13.4122 25.347 14.1532 25.803C14.8529 26.3055 15.5719 26.2768 16.0795 25.5424C16.4356 25.0671 16.7071 24.389 16.9891 23.8699C17.2935 23.3174 17.5442 23.024 18.0773 23.3013C18.4214 23.478 18.7901 23.7652 19.1379 23.9788C20.7597 24.9493 22.7874 25.7442 23.7184 24.5584C24.1335 23.9106 24.0646 22.7415 23.6756 22.0217L23.6704 22.0129L23.6714 22.0124ZM7.01082 15.0423C7.00037 14.5279 7.4437 14.0833 7.94604 13.9947C8.87395 13.7988 9.34443 14.7119 8.86768 15.4536C8.33506 16.2979 7.04685 16.0863 7.01082 15.0522V15.0423ZM16.9907 15.0528C16.9546 16.0868 15.6664 16.2984 15.1338 15.4541C14.6571 14.7124 15.1275 13.7993 16.0555 13.9952C16.5578 14.0839 17.0011 14.5279 16.9907 15.0429V15.0528Z"
          fill="#1DED83"
        />
        <path
          d="M19.9858 4.84916C20.1581 4.94861 20.2837 5.11245 20.3352 5.30458C20.3867 5.49672 20.3598 5.70141 20.2603 5.87368L20.1978 5.98205C20.7235 6.36937 21.1059 6.92539 21.2765 7.56224C21.4751 8.30333 21.3709 9.09302 20.9873 9.75747L20.5051 10.5926L20.5979 10.6461C20.9566 10.8532 21.0795 11.3119 20.8724 11.6707L20.4438 12.413C20.2367 12.7717 19.778 12.8946 19.4193 12.6875L12.7386 8.83034C12.3798 8.62323 12.2569 8.16454 12.464 7.80582L12.8926 7.06351C13.0997 6.70479 13.5584 6.58188 13.9171 6.78899L14.0099 6.84256L14.4921 6.00747C14.8757 5.34302 15.5075 4.85791 16.2486 4.65934C16.8854 4.4887 17.5579 4.54213 18.1562 4.80384L18.219 4.6951C18.3184 4.52284 18.4823 4.39722 18.6744 4.34574C18.8665 4.29425 19.0712 4.32113 19.2435 4.42058L19.9858 4.84916Z"
          fill="#FFD748"
        />
        <path
          d="M19.7878 10.5495L20.4306 9.43602C20.729 8.91923 20.8096 8.30514 20.6552 7.72874C20.5007 7.15234 20.1239 6.66083 19.6071 6.36246C19.4533 6.2737 19.4007 6.07712 19.4894 5.92338C19.5782 5.76965 19.7748 5.71697 19.9285 5.80573C20.593 6.18935 21.0781 6.82113 21.2766 7.56222C21.4752 8.30331 21.371 9.09301 20.9874 9.75745L20.3445 10.8709C20.2558 11.0246 20.0592 11.0773 19.9054 10.9886C19.7517 10.8998 19.699 10.7032 19.7878 10.5495Z"
          fill="#B16A00"
        />
        <path
          d="M13.8492 7.12095L14.492 6.00749C14.8757 5.34304 15.5074 4.85793 16.2485 4.65935C16.9896 4.46078 17.7793 4.56501 18.4438 4.94863C18.5975 5.03739 18.6502 5.23397 18.5614 5.38771C18.4727 5.54144 18.2761 5.59412 18.1223 5.50536C17.6055 5.20699 16.9915 5.12637 16.4151 5.28081C15.8387 5.43526 15.3471 5.81212 15.0488 6.32891L14.4059 7.44237C14.3172 7.59611 14.1206 7.64879 13.9668 7.56003C13.8131 7.47127 13.7604 7.27468 13.8492 7.12095Z"
          fill="#B16A00"
        />
        <path
          d="M20.3157 11.3493C20.3452 11.2981 20.3277 11.2325 20.2764 11.2029L13.5957 7.34579C13.5444 7.31621 13.4789 7.33376 13.4493 7.38501L13.0207 8.12732C12.9912 8.17856 13.0087 8.24409 13.06 8.27368L19.7407 12.1308C19.792 12.1604 19.8575 12.1428 19.8871 12.0916L20.3157 11.3493ZM20.4438 12.413C20.2367 12.7718 19.778 12.8947 19.4193 12.6876L12.7385 8.83041C12.3798 8.6233 12.2569 8.16461 12.464 7.80589L12.8926 7.06358C13.0997 6.70486 13.5584 6.58196 13.9171 6.78906L20.5979 10.6462C20.9566 10.8533 21.0795 11.312 20.8724 11.6707L20.4438 12.413Z"
          fill="#B16A00"
        />
        <path
          d="M18.6322 7.40809L19.7036 5.55232C19.7178 5.52771 19.7217 5.49847 19.7143 5.47102C19.7069 5.44357 19.689 5.42016 19.6644 5.40596L18.9221 4.97738C18.8975 4.96318 18.8682 4.95934 18.8408 4.96669C18.8133 4.97405 18.7899 4.99199 18.7757 5.0166L17.7043 6.87237C17.6155 7.02611 17.419 7.07878 17.2652 6.99002C17.1115 6.90126 17.0588 6.70468 17.1476 6.55094L18.219 4.69517C18.3185 4.52291 18.4823 4.39729 18.6744 4.34581C18.8666 4.29432 19.0712 4.3212 19.2435 4.42065L19.9858 4.84923C20.1581 4.94868 20.2837 5.11252 20.3352 5.30465C20.3867 5.49679 20.3598 5.70148 20.2603 5.87374L19.1889 7.72951C19.1002 7.88325 18.9036 7.93592 18.7498 7.84716C18.5961 7.7584 18.5434 7.56182 18.6322 7.40809Z"
          fill="#B16A00"
        />
      </g>
      <defs>
        <clipPath id={clipPathId}>
          <path
            d="M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z"
            fill="white"
          />
        </clipPath>
      </defs>
    </svg>
  )
}
